package mjc.egg;
import mjc.compiler.*;
import mjc.gc.*;
import mg.egg.eggc.compiler.libjava.lex.*;
import mg.egg.eggc.compiler.libjava.messages.*;
import mg.egg.eggc.compiler.libjava.*;
import mg.egg.eggc.compiler.libjava.problem.IProblem;
import java.util.Vector;
public class S_ARGS_MJAVA {
LEX_MJAVA scanner;
  S_ARGS_MJAVA() {
    }
  S_ARGS_MJAVA(LEX_MJAVA scanner) {
    this.scanner = scanner;
    this.att_scanner = scanner;
    }
int [] sync= new int[0];
  TDS att_htdsclasses;
  PARAMETRES att_hparametres;
  TDS att_htdsvarlocales;
  int att_hnbarg;
  INFOCLASSE att_hinfoclasse;
  PARAMETRES att_parametres;
  LEX_MJAVA att_scanner;
  private void regle75() throws Exception {

    //declaration
    S_E_MJAVA x_2 = new S_E_MJAVA(scanner) ;
    S_ARGSX_MJAVA x_4 = new S_ARGSX_MJAVA(scanner) ;
    //appel
      action_auto_inh_75(x_2, x_4);
    x_2.analyser() ;
      action_milieu_75(x_2, x_4);
    x_4.analyser() ;
      action_action_75(x_2, x_4);
  }
  private void regle76() throws Exception {

    //declaration
    //appel
      action_action_76();
  }
private void action_action_76() throws Exception {
try {
// instructions
this.att_parametres=this.att_hparametres;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_75(S_E_MJAVA x_2, S_ARGSX_MJAVA x_4) throws Exception {
try {
// instructions
x_2.att_htdsvarlocales=this.att_htdsvarlocales;
x_4.att_htdsvarlocales=this.att_htdsvarlocales;
x_2.att_htdsclasses=this.att_htdsclasses;
x_4.att_htdsclasses=this.att_htdsclasses;
x_2.att_hinfoclasse=this.att_hinfoclasse;
x_4.att_hinfoclasse=this.att_hinfoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_milieu_75(S_E_MJAVA x_2, S_ARGSX_MJAVA x_4) throws Exception {
try {
// locales
PARAMETRES loc_p;
// instructions
x_4.att_hnbarg=this.att_hnbarg+1;
loc_p=this.att_hparametres;
    loc_p.addParam(x_2.att_type);
x_4.att_hparametres=loc_p;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_75(S_E_MJAVA x_2, S_ARGSX_MJAVA x_4) throws Exception {
try {
// instructions
this.att_parametres=x_4.att_parametres;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
  public void analyser () throws Exception {
    scanner.lit ( 1 ) ;
    switch ( scanner.fenetre[0].code ) {
      case LEX_MJAVA.token_entier : // 19954
        regle75 () ;
      break ;
      case LEX_MJAVA.token_vrai : // 19950
        regle75 () ;
      break ;
      case LEX_MJAVA.token_faux : // 19951
        regle75 () ;
      break ;
      case LEX_MJAVA.token_plus : // 19942
        regle75 () ;
      break ;
      case LEX_MJAVA.token_moins : // 19943
        regle75 () ;
      break ;
      case LEX_MJAVA.token_non : // 19949
        regle75 () ;
      break ;
      case LEX_MJAVA.token_null : // 19935
        regle75 () ;
      break ;
      case LEX_MJAVA.token_paro : // 19913
        regle75 () ;
      break ;
      case LEX_MJAVA.token_nouveau : // 19932
        regle75 () ;
      break ;
      case LEX_MJAVA.token_ident : // 19955
        regle75 () ;
      break ;
      case LEX_MJAVA.token_this : // 19952
        regle75 () ;
      break ;
      case LEX_MJAVA.token_super : // 19953
        regle75 () ;
      break ;
      case LEX_MJAVA.token_parf : // 19914
        regle76 () ;
      break ;
      default :
               scanner._interrompre(IProblem.Syntax, scanner.getBeginLine(), IMJAVAMessages.id_MJAVA_unexpected_token,MJAVAMessages.MJAVA_unexpected_token,new String[]{scanner.fenetre[0].getNom()});
    }
  }
  }
